home *** CD-ROM | disk | FTP | other *** search
/ SGI Hot Mix 17 / Hot Mix 17.iso / HM17_SGI / research / lib / obsolete / pmf.pro < prev    next >
Text File  |  1997-07-08  |  6KB  |  152 lines

  1. ; $Id: pmf.pro,v 1.2 1997/01/15 04:02:19 ali Exp $
  2. ;
  3. ; Copyright (c) 1991-1997, Research Systems, Inc.  All rights reserved.
  4. ;       Unauthorized reproduction prohibited.
  5.  
  6. ;+
  7. ; NAME:
  8. ;    PMF
  9. ; PURPOSE:
  10. ;    Perform formatted output of matrices stored in the IMSL/IDL
  11. ;    linear algebra storage scheme to the specified file.
  12. ; CATEGORY:
  13. ;    Linear Algebra
  14. ; CALLING SEQUENCE:
  15. ;    PMF, UNIT, E1, ..., E10
  16. ; INPUTS:
  17. ;    Unit - The output file unit.
  18. ;    E1, ... E20 - Expressions to be output. These can be scalar or
  19. ;        array and of any type.
  20. ; OUTPUTS:
  21. ;    Output is written to the file specified by unit.
  22. ; COMMON BLOCKS:
  23. ;    None.
  24. ; RESTRICTIONS:
  25. ;    No more than 20 expressions can be output. This should be sufficient
  26. ;    for typical use.
  27. ; MODIFICATION HISTORY:
  28. ;    13, September 1991, Written by AB (RSI), MP (IMSL)
  29. ;-
  30.  
  31. function pmf_trans, v
  32. if n_elements(v) lt 2 then return, v
  33. return, transpose(v)
  34. end
  35.  
  36.  
  37. pro PMF, unit, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, $
  38.         E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, format = fmt,$
  39.         title=title
  40.  
  41. on_error, 2        ; Return to caller on error
  42.  
  43. n = n_params()
  44. if (n eq 0) then message, 'UNIT argument is required when calling PMF.'
  45. if n_elements(title) then printf, unit, title
  46.  
  47. if keyword_set(fmt) then format = fmt else format = ''
  48. case (n-1) of
  49. 1:$
  50. printf, unit, pmf_trans(e1), $
  51.        format = format
  52.  
  53. 2:$
  54. printf, unit, pmf_trans(e1), pm_trans(e2), $
  55.        format = format
  56.  
  57. 3:$
  58. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), $
  59.        format = format
  60.  
  61. 4:$
  62. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), $
  63.        format = format
  64.  
  65. 5:$
  66. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  67.        format = format
  68.  
  69. 6:$
  70. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  71.        pmf_trans(e6), $
  72.        format = format
  73. 7:$
  74. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  75.        pmf_trans(e6), pmf_trans(e7), $
  76.        format = format
  77.  
  78. 8:$
  79. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  80.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), $
  81.        format = format
  82.  
  83. 9:$
  84. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  85.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), $
  86.        format = format
  87. 10:$
  88. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  89.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  90.        format = format
  91. 11:$
  92. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  93.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  94.        pmf_trans(e11), $
  95.        format = format
  96. 12:$
  97. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  98.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  99.        pmf_trans(e11), pmf_trans(e12), $
  100.        format = format
  101. 13:$
  102. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  103.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  104.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), $
  105.        format = format
  106. 14:$
  107. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  108.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  109.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), $
  110.        format = format
  111. 15:$
  112. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  113.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  114.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), pmf_trans(e15), $
  115.        format = format
  116. 16:$
  117. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  118.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  119.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), pmf_trans(e15), $
  120.        pmf_trans(e16), $
  121.        format = format
  122. 17:$
  123. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  124.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  125.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), pmf_trans(e15), $
  126.        pmf_trans(e16), pmf_trans(e17), $
  127.        format = format
  128. 18:$
  129. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  130.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  131.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), pmf_trans(e15), $
  132.        pmf_trans(e16), pmf_trans(e17), pmf_trans(e18), $
  133.        format = format
  134. 19:$
  135. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  136.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  137.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), pmf_trans(e15), $
  138.        pmf_trans(e16), pmf_trans(e17), pmf_trans(e18), pmf_trans(e19), $
  139.        format = format
  140. 20:$
  141. printf, unit, pmf_trans(e1), pmf_trans(e2), pmf_trans(e3), pmf_trans(e4), pmf_trans(e5), $
  142.        pmf_trans(e6), pmf_trans(e7), pmf_trans(e8), pmf_trans(e9), pmf_trans(e10), $
  143.        pmf_trans(e11), pmf_trans(e12), pmf_trans(e13), pmf_trans(e14), pmf_trans(e15), $
  144.        pmf_trans(e16), pmf_trans(e17), pmf_trans(e18), pmf_trans(e19), pmf_trans(e20), $
  145.        format = format
  146. else: $
  147.     if (n gt 21) then $
  148.           message, 'Too many arguments sent to PM.  Maximum allowed is twenty-one'
  149. endcase
  150.  
  151. end
  152.